package com.linkhub.oms.admin.modules.user.accountrecharge.domain.vo;

import com.linkhub.oms.admin.modules.user.attachment.domain.vo.UserAttachmentVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 用户充值记录详情VO
 * </p>
 *
 * @author Frank
 * @since 2024-05-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "用户充值记录详情VO", description = "用户充值记录详情VO")
public class UserRechargeRecordDetailVO implements Serializable {

    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "交易id")
    private String transactionId;

    @ApiModelProperty(value = "用户id")
    private String merchantUserId;

    @ApiModelProperty(value = "用户名称")
    private String merchantUserName;

    @ApiModelProperty(value = "用户邮箱")
    private String merchantUserEmail;

    @ApiModelProperty(value = "提交日期")
    private LocalDate submitDate;

    @ApiModelProperty(value = "付款卡_账户名")
    private String payAccount;

    @ApiModelProperty(value = "付款卡_银行名称")
    private String payBankName;

    @ApiModelProperty(value = "付款卡_银行卡号")
    private String payCardNumber;

    @ApiModelProperty(value = "转账币种")
    private String transferCurrencyType;

    @ApiModelProperty(value = "转账金额")
    private String transferAmount;

    @ApiModelProperty(value = "转账日期")
    private LocalDate transferDate;

    @ApiModelProperty(value = "转账银行流水号")
    private String transferBankStatement;

    @ApiModelProperty(value = "充值提交时的汇率,币种=USD")
    private String transferExchangeRate;

    @ApiModelProperty(value = "到账金额,币种同转账金额币种")
    private String receivedAmount;

    @ApiModelProperty(value = "到账的汇率,币种=USD")
    private String receivedExchangeRate;

    @ApiModelProperty(value = "到账日期")
    private LocalDate receivedDate;

    @ApiModelProperty(value = "收款卡_银行名称")
    private String receivedBankName;

    @ApiModelProperty(value = "收款卡_银行卡号")
    private String receivedCardNumber;

    @ApiModelProperty(value = "到账银行流水号_财务审核")
    private String receivedBankStatement;

    @ApiModelProperty(value = "手续费币种")
    private String feeCurrencyType;

    @ApiModelProperty(value = "手续费")
    private String fee;

    @ApiModelProperty(value = "实际充值金额,币种=USD")
    private String actualRechargeAmount;

    @ApiModelProperty(value = "充值状态：0-审核中 1-已到账 2-已拒绝")
    private Integer rechargeStatus;

    @ApiModelProperty(value = "拒绝原因，审核拒绝时填写")
    private String refuseReason;

    @ApiModelProperty(value = "附件列表")
    private List<UserAttachmentVO> attachmentList;
}
